package day04;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

public class h5 {
    public static void main(String[] args){
//        Scanner scanner=new Scanner(System.in);
//          int n=scanner.nextInt();
/*          long start=System.nanoTime();
        for(int i=n;i>=1;i--){

            for(int j=1;j<=i-1;j++){
                System.out.print(" ");
            }
            for(int j=2*(n-i)+1;j>0;j--){
                System.out.print("*");
            }
            System.out.println();
       }
        for(int i=n-1;i>0;i--){
            for(int j=n-i;j>0;j--){
                System.out.print(" ");
            }
            for(int j=2*i-1;j>0;j--){
                System.out.print("*");
            }
            System.out.println();
        }

 */
 /*       ArrayList<String> s=new ArrayList<>();
            for(int i=1;i<=n;i++){
                String str="";
                for(int j=n-i;j>0;j--){
                    str+=" ";
                }
                for(int j=0;j<2*i-1;j++){
                    str+="*";
                }
                s.add(str);
            }
            for(int i=1-n;i<=n-1;i++){           //   ----------数学对称性
                int j=n-1-Math.abs(i);
                System.out.println(s.get(j));
            }

  */
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        final int totalRows = 2 * n - 1;

        // 预生成空格缓存数组（空间换时间）
        String[] spacesCache = new String[n];
        StringBuilder spacesBuilder = new StringBuilder();
        for (int i = 0; i < n; i++) {
            spacesCache[i] = spacesBuilder.toString();
            spacesBuilder.append(' ');
        }

        // 预生成星号模板（最大宽度）
        char[] starsTemplate = new char[2 * n - 1];
        Arrays.fill(starsTemplate, '*');

        // 单次循环构建输出
        StringBuilder output = new StringBuilder((n * (2 * n + 3))); // 预分配缓冲区
        for (int row = 0; row < totalRows; row++) {
            int distance = Math.abs(n - 1 - row);
            int stars = 2 * (n - distance) - 1;

            // 拼接行内容
            output.append(spacesCache[distance])
                    .append(starsTemplate, 0, stars)
                    .append('\n');
        }
        System.out.print(output);












    }
}

//
//  *
// ***
//*****